A number of systems and programs are offered on the market for the design, the engineering and the manufacturing of objects. CAD is an acronym for Computer-Aided Design, e.g. it relates to software solutions for designing an object. CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM is an acronym for Computer-Aided Manufacturing, e.g. it relates to software solutions for defining manufacturing processes and operations. In such computer-aided design systems, the graphical user interface plays an important role as regards the efficiency of the technique. These techniques may be embedded within Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise.
The PLM solutions provided by Dassault Systemes (under the trademarks CATIA, ENOVIA and DELMIA) provide an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
In a CAD system, geometrical constraints connecting geometries forming an industrial product are oriented. The orientation of a constraint between two geometries means that one geometry is the master and that the other geometry is the slave element. For example, when creating a matching constraint between surface A and surface B, surface B is unchanged while surface A is deformed in order to fit the boundary edge of surface B. The creation order is saved by the system and modification must be done according to this order. In the example, it is not possible to deform surface B up to a modified version of surface A.
Orienting constraints at the creation step is actually appropriate because the result clearly depends on the selection order. Thus, the CAD system behaves in a predictable way, which is good for usability.
Nevertheless, for modification purposes, the orientation of the constraint makes it difficult to understand which objet must be edited in order to fit the design intent.
Furthermore, at modification step, the constraint orientation is not “visible” on the geometry. This is because geometries such as curves and surfaces styling constraints (coincidence, matching, smoothness connection etc.) are not naturally associated with arrows like offset constraints of mechanical design.
The usual way for the designer to understand the orientation of a constraint is to try modifying the geometry in order to find out who the master is and who the slave is. Once this is done, the designer iterates changes on the master element until the slave element behaves according to the design intent because the slave element cannot be edited directly.
Depending on constraint's types, some orientations can be reversed by hand, which makes the change process easier, but not as fluent as it should be for productivity purpose. In short, the behavior of the CAD system is governed by the constraints network orientation rather than the modification intent.
Another problem is that the designer is allowed to create cycles of oriented constraints. From a theoretical point of view, a cycle is a never-ending dependency between two or more elements. The existence of a solution is not guaranteed a priori and the computation of a solution may require an iterative process, thus raising a convergence issue. From the user's point of view, and in the context of curves and surfaces styling design, a cycle of constraints is an interactive selection side effect rather than actual design intent. A known solution for dealing with cycles consists in providing suggestions to the user (e.g. by displaying alphanumeric messages) for allowing the user to decide whether (or not) to follow the suggestions. With such a solution, modifying a constrained set of geometrical objects is a question of tuning the constraints network under warning messages. The CAD system does not change constraint orientation by itself, and this solution is not efficient if the preferred style of interface is to interactively and fluently move of deform geometrical objects.
Within this context, there is still a need for an improved method for designing an industrial product wherein constraints between geometries are oriented.